﻿#ifndef CStatisticsChat_H
#define CStatisticsChat_H
/********************************************************************************
** @ Date:2025/08/27
** @ Author: HanJiaXin
** @ Description:统计图卡片
** @ Version:1.0.0
** @ ClassName:CStatisticsChat
** @ Fun:
********************************************************************************/
#include <QWidget>
#include <QtCharts> // 必须包含此头文件
#include <QToolTip> // 用于鼠标悬停提示
#include "ui_CStatisticsChat.h"
#include "CDevDataCam.h"

class CStatisticsChat : public QWidget
{
	Q_OBJECT

public:
	CStatisticsChat(CDevDataCam* pDevData,QWidget *parent = nullptr);
	~CStatisticsChat();


private :
	void initLineChart();// 初始化折线图
	void initBarChart();// 初始化柱状图

	void refresLine();
	void refresBar();

public slots:
	void refreshData(bool bRefresh);     // 这个函数会被外部调用
	void slotRefreshUI();//刷新界面

private:
	Ui::CStatisticsChatClass ui;
	QTimer* m_pTimer;
	CDevDataCam* m_pDevData;
	//折线图组件
	QChart *m_pLineSeriesChart;
	QValueAxis *m_pLineSeriesAxisY;
	QLineSeries* m_pSeries;
	// 柱状图组件
	QChart* m_pBarChart;
	QBarSeries* m_pBarSeries;
	QBarSet* m_pBarSet;
	QValueAxis* m_pBarAxisY;
	// 标签管理
	QList<QGraphicsSimpleTextItem*> m_lineLabels;
	QList<QGraphicsSimpleTextItem*> m_barLabels;
	
	int m_nType;//0:折线图 1柱状图
};

#endif